1. Field of the Invention
The invention relates to the automatic placement of components onto circuit boards. More particularly, the invention relates to a method and apparatus for calibrating an automated placement machine which retrieves parts from a parts tray and places them onto desired locations of an assembly such as a printed circuit board (PCB).
2. Description of the Related Art
In the electronics industry, high speed automated placement machines are often used to place electronic parts or components onto bare PCBs. These automated placement machines typically include a robotic arm which has a vacuum nozzle for lifting an electronic component, carrying the component to a designated location, and placing the component onto a PCB at a designated location on the PCB. With the use of some automated placement machines, after the part is picked up by the robotic arm, the part is placed onto a part shuttle which transports the part within the vicinity of a second robotic arm of the automated placement machine. The second robotic arm also includes a vacuum nozzle that picks up the part from the parts shuttle and places the part at a designated location on the PCB. In order to expedite this process, components are typically extracted directly out of the packaging medium in which they are shipped by a manufacturer, or distributor, of the components.
One commonly used packaging medium is known as a parts tray. Typically, parts trays contain a number of cavities, each capable of containing a component therein. The physical dimensions of each cavity within a particular parts tray are typically the same for each cavity and the cavities are usually arranged in a uniform matrix pattern. Therefore, by knowing the dimensions of each cavity and also taking into account the particular matrix configuration of the cavities for a particular parts tray, it is possible to calculate the relative spatial coordinates (i.e., positions) of each of the components contained within these cavities with respect to a common point of reference. After the coordinate positions of each of the components have been determined, the robotic arm may be programmed to successively move to each coordinate position corresponding to the location of the components in order to retrieve each of the components from it's respective cavity.
In one prior art method, multiple parts trays may be accessed by an automated placement machine by providing a multi-tray unit, as it is commonly known in the industry. The multi-tray unit includes multiple drawers, each capable of holding one or more parts trays therein. The multiple drawers are typically stacked one on top of another. When a robotic arm is programmed to access a parts tray in one of the drawers, the multi-tray unit will move select drawers in the stack so as to create a space above the designated drawer containing the desired parts tray. The robotic arm can then move in this space above the designated drawer in order to retrieve components from the designated parts tray.
Referring to FIG. 1, a typical multi-tray unit 100 is illustrated. The multi-tray unit 100 includes a base 101 and a tray tower 103 attached to and extending upwardly from the base 101.
Multiple drawers 105 are coupled to the tray tower 103. Each drawer 105 is typically movably attached to the tray tower 103 by means of a lead screw assembly 107, driven by a lead screw assembly motor 108, which can move a select group of the drawers 105. Each drawer 105 includes a cavity 106 for receiving and holding a parts tray (not shown) therein. The multi-tray unit 100 of FIG. 1, as well as various other types of multi-tray units, which perform similar functions to those described above, are well-known in the art. In one embodiment, the multi-tray unit 100 is a Fuji Multi-tray unit manufactured by Fuji, Inc. which is available with the Fuji-IP2 or IP3 automated placement machines.
When an automated placement machine (not shown) is programmed to retrieve a particular component from a designated parts tray, a robotic arm 109 of the automated placement machine will move to a particular spatial coordinate which has been programmed into a database of the automated placement machine. As shown in FIG. 1, the robotic arm 109 has a vacuum nozzle 111 attached thereto for picking up components from a parts tray. A designated parts tray is made accessible to the vacuum nozzle 111 of the robotic arm 109 by the tray tower 103 which moves selected drawers 105 such that a space is provided above a designated drawer 105a containing the designated parts tray. The robotic arm 109 can then move in this space above the designated drawer 105a in order to pick up selected components with its vacuum nozzle 111.
One method of providing a space above the designated drawer 105a is to move all the drawers 105 above the designated drawer 105a upwardly and away from the designated drawer 105a. Another method of making the designated drawer 105a accessible is to move the designated drawer 105a and all the drawers 105 beneath it, downwardly and away from the drawers 105 above the designed drawer 105a. In order to move the trays in this fashion, the lead screw assembly motor 108 rotates either clockwise or counter-clockwise, depending on which way the trays are to be moved, and drives the lead screw assembly 107 housed within the tray tower 103. The lead screw assembly 107 includes a threaded shaft (not shown) which has relatively large threads in the center portion of the shaft when compared to the threads at the upper and lower portions of the shaft. The larger, more coarse, threads at the center portion of the shaft causes the trays to move more quickly through the center portion of the shaft while the smaller, finer, threads at the upper and lower portions of the shaft cause the trays to move much slower so that they do not crash into the upper or lower ends of the tower assembly 103. By moving the robotic arm 109 near the area of the center portion of the shaft, the robotic arm 109 may be positioned in the space between two trays so as to be underneath one tray and above another. In this position, the robotic arm 109 can retrieve components from the parts tray immediately below the robotic arm 109.
FIG. 2 is a side elevational view of the multi-tray unit 100 of FIG. 1. As shown in FIG. 2, the robotic arm 109 is positioned above the designated drawer 105a such that the vacuum nozzle 111 may pick up a component (not shown) contained within a parts tray (not shown) which is in turn contained within the designated drawer 105a.
FIG. 3 is a perspective view of a typical parts tray 200 having multiple cavities, or pockets 201, arranged in a 3.times.4 matrix. Within each cavity 201 is a component 203. The parts tray 200 is a common packaging medium in which components, particularly integrated circuits (ICs), are shipped. In order to secure each of the components 203 in their respective cavities 201, the top of the parts tray 200 is typically covered with an electrostatically safe film or cover sheet (not shown). When the components 203 are ready to be assembled onto a PCB, the cover sheet on the parts tray 200 is removed and the parts tray 200 is typically inserted into a drawer 105 of a multi-tray unit 100 (FIGS. 1 and 2). As discussed above, with reference to FIG. 1, the components 203 may then by extracted from the parts tray 200 by a robotic arm 109 (FIG. 1) of an automated placement machine.
FIG. 4 is a top plan view of the parts tray 200 of FIG. 3 contained within a drawer 105 having a cavity 106 for holding the parts tray 200 therein. The parts tray 200 includes twelve cavities 201 arranged in a 3.times.4 matrix, each cavity 201 containing a component 203 therein. As shown in FIG. 4, a reference point 300 is selected at a point where an inside corner of the cavity 106 is located, for example. With respect to the reference point 300, the coordinates of each of the components 203 may be calculated (as explained in further detail below) such that an automated placement machine may be programmed to move a robotic arm (not shown) to the coordinates of each component 203 in order to pick up the component 203. The coordinates of a first component 203a, for example, are calculated by measuring the distances X1 and Y1. The distance X1 represents the distance along an x-axis of a two-dimensional Cartesian coordinate system between a center point 205 of the body of the first component 203a and the reference point 300. Similarly, the distance Y1 represents the distance along a y-axis of the two-dimensional Cartesian coordinate system-between the center point 205 of the body of the component 203a and the reference point 300.
After the first component 203a has been retrieved and placed at a desired location, any one of the remaining components 203 may be retrieved by the robotic arm. The distance X2 represents the component pitch, or distance between adjacent components 203, in the x-direction. The distance Y2 represents the component pitch, or distance between adjacent components 203, in the y-direction. By measuring and recording the distances X1, Y1, X2 and Y2, with respect to the reference point 300, the spatial coordinates of each component 203 in the parts tray 200 may be calculated. Once calculated, these coordinates can then be entered into a software program stored in a database of an automated placement machine, such as the Fuji IP2 or IP3 placement machine. The placement machine can then move a robotic arm to the locations which correspond to these coordinates in order to retrieve components. In one embodiment, the distances XI, Y1, X2 and Y2 are manually measured by a system operator and entered as inputs to a software program stored in a database of the automated placement machine. The software program executes the protocol for moving the robotic arm to desired locations in accordance with entered data. Alternatively, the distances X1, X2, Y1 and Y2 may be automatically measured by a machine such as the vision system of an automated placement machine, for example.
Typically, a placement machine gauges the distance moved by a robotic arm by counting "motor pulses" of a motor which drives the motion of the robotic arm. A motor tick may be a specified number of rotations of a sprocket, drive wheel, or the movement of any other mechanism which has a relatively constant magnitude of motion with respect to a specified distance traveled by the robotic arm. Therefore, if the distances X1 and Y1 have been measured to be 3 and 4 inches, respectively, an automatic placement machine may first move a robotic arm, starting from a home position corresponding to the reference point 300, in the x-direction until it counts a number of motor pulses that corresponds to 3 inches. The automatic placement machine may then move the robotic arm in the y-direction until it counts a number of motor pulses that correspond to four inches.
After the robotic arm has retrieved the first component 203a and placed the component 203a onto a designated location on a PCB, the robotic arm may then retrieve a second component, typically either 203b or 203c. For example, if the robotic arm is programmed to retrieve the component 203b next, the robotic arm will first be positioned at its home position. Starting from the home position, the robotic arm may first be moved in the x-direction until the automated placement machine counts a number of motor pulses corresponding to the distance X1+X2. The robotic arm is then moved in the y-direction until a number of motor pulses corresponding to the distance Y1 are counted. After the robotic arm has been moved in this fashion, it should be at a position directly above the component 203b such that the vacuum nozzle of the robotic arm is centered above the pick-up point 205 of the component 203b.
However, the method described above is not accurate if an origin, or home position, of the robotic arm is not accurately calibrated to match the reference point 300 of FIG. 4. In prior art methods, the process of calibrating a robotic arm is performed manually by moving the robotic arm to the designated reference point. The system operator then tries to visually align a vacuum nozzle of the robotic arm such that it is centered above the reference point 300 of FIG. 4. This process requires careful judgment, and sometimes guesswork, by the system operator. Additionally, this process is tedious and unnecessarily time consuming. Accordingly, it can be appreciated that if the calibration of the home position of the robotic arm is not accurately performed, all subsequent movements of the robotic arm will be in error by an amount proportional to the error in calibration. Often times, if the operator is in error by merely a fraction of an inch in calibrating the origin position of the robotic arm, all subsequent movements of the robotic arm will be in error, leading to subsequent problems during the retrieval and placement of the components by the robotic arm. As used herein, the terms "home position," "origin," "origin point," and "origin position" are synonymous and interchangeable, and refer to a position or location of a robotic arm from which all movements of the robotic arm may be measured or gauged. As used herein, the term "calibration" and any conjugation thereof refers to the determination and setting of the home position of the robotic arm.
If the home position of the robotic arm is inaccurately calibrated, the robotic arm will either pick up each component off-center from its intended pick-up point or not be able to pick up the component at all. If the robotic arm picks up the component off-center from its intended pick-up point, it must compensate for the deviation in order to properly place the component onto the PCB. Often, if the misalignment of a component is too great, the automated placement machine can not compensate for this deviation. In this situation, the component is either placed improperly, or not placed at all.
In the electronics manufacturing industry, components such as integrated circuit (IC) chips are relatively small and must be placed onto a specified location of a PCB within millimeters of the intended location, such that the leads of the component are properly matched with specified pads on the PCB. If each lead of an IC, for example, is not properly matched with each pad of the PCB, the PCB is defective and must be reworked. Therefore, what is needed is a uniform and accurate method of consistently establishing a home position, or origin, from which the motion of the robotic arm of an automated placement machine may be gauged. By accurately calibrating the robotic arm, an automated placement machine may be programmed to automatically retrieve components from a parts tray and place them onto a PCB with a desired degree of precision.